From 5bacfe393661cc4f8e9b5480f5d33bb094da0f47 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 21 Dec 2003 23:41:26 +0000 Subject: [PATCH] Use gtk_paint_arrow instead of draw_arrow_left/draw_arrow_right. Removed. Mon Dec 22 00:40:39 2003 Matthias Clasen * gtk/gtkcalendar.c (gtk_calendar_paint_arrow): Use gtk_paint_arrow instead of draw_arrow_left/draw_arrow_right. * gtk/gtkcalendar.c (draw_arrow_left): (draw_arrow_right): Removed. * gtk/gtkcalendar.c (gtk_calendar_realize_arrows): * gtk/gtkcalendar.c (gtk_calendar_state_changed): Set the arrow_state to GTK_STATE_INSENSITIVE if the calendar is insensitive. (#97376) --- ChangeLog | 11 +++++++ ChangeLog.pre-2-10 | 11 +++++++ ChangeLog.pre-2-4 | 11 +++++++ ChangeLog.pre-2-6 | 11 +++++++ ChangeLog.pre-2-8 | 11 +++++++ gtk/gtkcalendar.c | 72 +++++++++++++++------------------------------- 6 files changed, 78 insertions(+), 49 deletions(-) diff --git a/ChangeLog b/ChangeLog index 18ed04b355..4b5a6c8c51 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +Mon Dec 22 00:40:39 2003 Matthias Clasen + + * gtk/gtkcalendar.c (gtk_calendar_paint_arrow): Use + gtk_paint_arrow instead of draw_arrow_left/draw_arrow_right. + * gtk/gtkcalendar.c (draw_arrow_left): + (draw_arrow_right): Removed. + * gtk/gtkcalendar.c (gtk_calendar_realize_arrows): + * gtk/gtkcalendar.c (gtk_calendar_state_changed): Set the + arrow_state to GTK_STATE_INSENSITIVE if the calendar is + insensitive. (#97376) + Sun Dec 21 23:17:01 2003 Matthias Clasen * gtk/gtkuimanager.c (update_node): diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 18ed04b355..4b5a6c8c51 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,14 @@ +Mon Dec 22 00:40:39 2003 Matthias Clasen + + * gtk/gtkcalendar.c (gtk_calendar_paint_arrow): Use + gtk_paint_arrow instead of draw_arrow_left/draw_arrow_right. + * gtk/gtkcalendar.c (draw_arrow_left): + (draw_arrow_right): Removed. + * gtk/gtkcalendar.c (gtk_calendar_realize_arrows): + * gtk/gtkcalendar.c (gtk_calendar_state_changed): Set the + arrow_state to GTK_STATE_INSENSITIVE if the calendar is + insensitive. (#97376) + Sun Dec 21 23:17:01 2003 Matthias Clasen * gtk/gtkuimanager.c (update_node): diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 18ed04b355..4b5a6c8c51 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,14 @@ +Mon Dec 22 00:40:39 2003 Matthias Clasen + + * gtk/gtkcalendar.c (gtk_calendar_paint_arrow): Use + gtk_paint_arrow instead of draw_arrow_left/draw_arrow_right. + * gtk/gtkcalendar.c (draw_arrow_left): + (draw_arrow_right): Removed. + * gtk/gtkcalendar.c (gtk_calendar_realize_arrows): + * gtk/gtkcalendar.c (gtk_calendar_state_changed): Set the + arrow_state to GTK_STATE_INSENSITIVE if the calendar is + insensitive. (#97376) + Sun Dec 21 23:17:01 2003 Matthias Clasen * gtk/gtkuimanager.c (update_node): diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 18ed04b355..4b5a6c8c51 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,14 @@ +Mon Dec 22 00:40:39 2003 Matthias Clasen + + * gtk/gtkcalendar.c (gtk_calendar_paint_arrow): Use + gtk_paint_arrow instead of draw_arrow_left/draw_arrow_right. + * gtk/gtkcalendar.c (draw_arrow_left): + (draw_arrow_right): Removed. + * gtk/gtkcalendar.c (gtk_calendar_realize_arrows): + * gtk/gtkcalendar.c (gtk_calendar_state_changed): Set the + arrow_state to GTK_STATE_INSENSITIVE if the calendar is + insensitive. (#97376) + Sun Dec 21 23:17:01 2003 Matthias Clasen * gtk/gtkuimanager.c (update_node): diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 18ed04b355..4b5a6c8c51 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,14 @@ +Mon Dec 22 00:40:39 2003 Matthias Clasen + + * gtk/gtkcalendar.c (gtk_calendar_paint_arrow): Use + gtk_paint_arrow instead of draw_arrow_left/draw_arrow_right. + * gtk/gtkcalendar.c (draw_arrow_left): + (draw_arrow_right): Removed. + * gtk/gtkcalendar.c (gtk_calendar_realize_arrows): + * gtk/gtkcalendar.c (gtk_calendar_state_changed): Set the + arrow_state to GTK_STATE_INSENSITIVE if the calendar is + insensitive. (#97376) + Sun Dec 21 23:17:01 2003 Matthias Clasen * gtk/gtkuimanager.c (update_node): diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index 8fbfe84a08..2a117759ba 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -826,48 +826,6 @@ top_y_for_row (GtkCalendar *calendar, * row_height (calendar))); } -/* This function should be done by the toolkit, but we don't like the - * GTK arrows because they don't look good on this widget */ -static void -draw_arrow_right (GdkWindow *window, - GdkGC *gc, - gint x, - gint y, - gint size) -{ - gint i; - - for (i = 0; i <= size / 2; i++) - { - gdk_draw_line (window, gc, - x + i, - y + i, - x + i, - y + size - i); - } -} - -/* This function should be done by the toolkit, but we don't like the - * GTK arrows because they don't look good on this widget */ -static void -draw_arrow_left (GdkWindow *window, - GdkGC *gc, - gint x, - gint y, - gint size) -{ - gint i; - - for (i = 0; i <= size / 2; i++) - { - gdk_draw_line (window, gc, - x + size/2 - i, - y + i, - x + size/2 - i, - y + size - i); - } -} - static void gtk_calendar_set_month_prev (GtkCalendar *calendar) { @@ -1150,7 +1108,10 @@ gtk_calendar_realize_arrows (GtkWidget *widget) private_data->arrow_win[i] = gdk_window_new (private_data->header_win, &attributes, attributes_mask); - private_data->arrow_state[i] = GTK_STATE_NORMAL; + if (GTK_WIDGET_IS_SENSITIVE (widget)) + private_data->arrow_state[i] = GTK_STATE_NORMAL; + else + private_data->arrow_state[i] = GTK_STATE_INSENSITIVE; gdk_window_set_background (private_data->arrow_win[i], HEADER_BG_COLOR (GTK_WIDGET (calendar))); gdk_window_show (private_data->arrow_win[i]); @@ -3002,14 +2963,16 @@ gtk_calendar_paint_arrow (GtkWidget *widget, gdk_window_clear_area (window, 0,0, width,height); - - gdk_gc_set_foreground (gc, & (widget)->style->fg[state]); - if (arrow == ARROW_MONTH_LEFT || arrow == ARROW_YEAR_LEFT) - draw_arrow_left (window, gc, width/2 - 3, height/2 - 4, 8); + gtk_paint_arrow (widget->style, window, state, + GTK_SHADOW_OUT, NULL, widget, "calendar", + GTK_ARROW_LEFT, TRUE, + width/2 - 3, height/2 - 4, 8, 8); else - draw_arrow_right (window, gc, width/2 - 2, height/2 - 4, 8); - return; + gtk_paint_arrow (widget->style, window, state, + GTK_SHADOW_OUT, NULL, widget, "calendar", + GTK_ARROW_RIGHT, TRUE, + width/2 - 2, height/2 - 4, 8, 8); } } @@ -3099,9 +3062,20 @@ static void gtk_calendar_state_changed (GtkWidget *widget, GtkStateType previous_state) { + GtkCalendarPrivateData *private_data; + int i; + + private_data = GTK_CALENDAR_PRIVATE_DATA (widget); + if (!GTK_WIDGET_IS_SENSITIVE (widget)) stop_spinning (widget); + for (i = 0; i < 4; i++) + if (GTK_WIDGET_IS_SENSITIVE (widget)) + private_data->arrow_state[i] = GTK_STATE_NORMAL; + else + private_data->arrow_state[i] = GTK_STATE_INSENSITIVE; + gtk_calendar_set_background (widget); } -- 2.30.2